DataSource for Entity Framework for WPF/Silverlight
Index<T,TKey> クラス
メンバ 

C1.LiveLinq.Indexing 名前空間 : Index<T,TKey> クラス
インデックスを作成するコレクションの要素の型。
インデックスキーの型。
式(通常フィールド)によってコレクションのインデックスを作成し、 式の特定の値(または値の範囲)にすばやくアクセスできるようにします。
オブジェクト モデル
Index<T,TKey> クラス
シンタックス
'宣言
 
<System.Diagnostics.DebuggerDisplayAttribute("\{ Key = {KeySelector} \}")>
Public MustInherit Class Index
    (Of T,TKey) 
   Inherits Index(Of T)
   Implements C1.LiveLinq.Indexing.Search.IIndexScanner(Of T), C1.LiveLinq.Indexing.Search.IIndexScanner(Of T,TKey) 
[System.Diagnostics.DebuggerDisplay("\{ Key = {KeySelector} \}")]
public abstract class Index<T,TKey> : Index<T>, C1.LiveLinq.Indexing.Search.IIndexScanner<T>, C1.LiveLinq.Indexing.Search.IIndexScanner<T,TKey>  
型パラメータ
T
インデックスを作成するコレクションの要素の型。
TKey
インデックスキーの型。
解説

インデックスは、コードで 明示的に IndexCollection.Addを呼び出して作成してコレクションに追加するか、 Indexedヒントを使用することによって LINQ クエリー内で適用されます。

LINQ クエリーでは、 Indexedヒントを使用してインデックスを指定すると、インデックスによってクエリーのパフォーマンスが最適化されます。LiveLinq は、インデックスを使用してクエリーの速度を向上できるかどうかを自動的に判断するので、原則としてヒントは不要ですが、 ヒントを使用すると、 確実に最適化できます。

また、インデックスは、LINQ 構文を使用しなくても、 Index<T,TKey>クラスによって実装される C1.LiveLinq.Indexing.Search.IIndexScanner<T,TKey>インタフェースのメソッドを使用することで、コード内でプログラムから使用できます。 たとえば、 Index<T,TKey>オブジェクトで直接 Findなどのメソッドを呼び出すことができます。

インデックスが作成されるたびに トレードオフが生じることに注意する必要があります。検索速度は大幅に速くなりますが、メモリを消費し、 インデックス付きのコレクション(または項目、その要素のいずれか)が変更されるたびにオーバーヘッドが追加されます(通常はわずかです)。これは、通常、 インデックスが維持されるのがクエリーで必要な間だけであるためです。 インデックスを削除するには、 IndexCollection.Removeを使用します。

インデックスはサブインデックスを持つことができます( Subindex<T,TKey>を参照)。 サブインデックスはオプションであり、すべてのインデックスタスクで必要なわけではありませんが、コレクションのインデックスがマルチレベル(マルチフィールド)キーで作成される場合は、最適化をさらに促進し、メモリ要件を最小限に抑えるために役立ちます。 サブインデックスがある場合、インデックスはサブインデックスのツリーのルートレベルです。

継承階層

System.Object
   C1.LiveLinq.Indexing.IndexDefinition<T>
      C1.LiveLinq.Indexing.Index<T>
         C1.LiveLinq.Indexing.Index<T,TKey>

参照

Index<T,TKey> メンバ
C1.LiveLinq.Indexing 名前空間